<?php

include_once 'autoload.php';

class FormLogin extends Zend_Form {

    public function init() {
        $this->setName('Login');
        $userName = new Zend_Form_Element_Text('userName');
        $userName->setLabel('Nom: ')
                ->setRequired();
        //Création d’un validateur de mot de passe complexe basé sur les regex 

        $pwdValide = new Zend_Validate_Regex('((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})');

        $pwdValide->setMessage("6 a 20 caracteres, au moins 1 chiffre, au moins une majuscule");


        $password = new Zend_Form_Element_Password('password');
        $password->setLabel('Mot de passe:')
        ->setRequired()
        ->addValidator($pwdValide);
        $login = new Zend_Form_Element_Submit('login');
        $login->setLabel('Envoyer');

        $this->addElements(array($userName, $password, $login))
                ->setMethod('post')
                ->setAction('formAuth01.php');
    }

}

function estAuthentifie($username, $userPwd) {
    $db = new Zend_Db_Adapter_Pdo_Mysql(array(
        'host' => 'localhost',
        'username' => 'root',
        'password' => '',
        'dbname' => 'gsb'
    ));
    $authAdapter = new Zend_Auth_Adapter_DbTable($db);
    $authAdapter->setTableName('comptable')
            ->setIdentityColumn('login')
            ->setCredentialColumn('mdp');
    $authAdapter->setIdentity($username)
            ->setCredential($userPwd)
            ->setCredentialTreatment('MD5(?)');
    $auth = Zend_Auth::getInstance();
    $result = $auth->authenticate($authAdapter);
    return ($result->isValid() ? TRUE : FALSE);
}

$view = new Zend_View(); //autoload
$form = new FormLogin(); //autoload
if (!$_POST) {
// rendu du formulaire vierge 
    echo $form->render($view);
} else
if (!$form->isValid($_POST)) {
// rendu du formulaire rempli et messages d'erreurs 
    echo $form->render($view);
} else {
// formulaire valide.traiter les donnees postees 
    $userName = $form->getValue('userName');
    $userPwd = $form->getValue('password');
    if (estAuthentifie($userName, $userPwd)) {
        echo 'youpi';
    }else{
        echo 'tant pis';
    }

//echo 'youplaplof';
    //Zend_Debug::dump($_POST); idem var_dump($_POST) 
    Zend_Debug::dump($form->getValues());
}
?>